<template>
	<view style="position: relative; height: 200px; background-color: #fff; padding: 5px 10px; border-radius: 5px">
		<canvas style="width: 100%; height: 200px; position: absolute" ref="bg" :canvas-id="bg"></canvas>
		<canvas style="width: 100%; height: 200px; position: absolute" ref="line" :canvas-id="line"></canvas>
	</view>
</template>
<script>
import WaveView from './WaveView2.js';
import SimDevice from '../../service/mqtt/sim/SimDevice.js';
import { DeviceBasicData } from '../../service/mqtt/DeviceConfig.js';
export default {
	props: {
		text: {
			type: String,
			default: 'Hello from Parent'
		},
		bg: {
			type: String,
			default: 'bg'
		},
		line: {
			type: String,
			default: 'line'
		},
		returnData: {
			type: Function,
			default: ()=>{}
		}
	},
	data() {
		return {
			pageWidth: 0,
			sum:0,
			datas:[],
			draws:[],
		};
	},
	mounted(options) {
		this.updatePageWidth(); //获取页面宽度
	},
	onUnload() {
	    // 页面销毁时清除定时器  
	    this.simDevice.close(); 
	  } ,
	computed: {},
	methods: {
		updatePageWidth: function () {
			let pageWidth;
			if (typeof window !== 'undefined') {
				// H5 环境
				pageWidth = window.innerWidth;
			} else {
				// 小程序或其他环境
				let systemInfo = uni.getSystemInfoSync();
				pageWidth = systemInfo.windowWidth;
			}
			this.pageWidth = pageWidth - 50;
			// this.mqtt();
			this.draw()
		},
		draw() {
			// let background = document.getElementById('myCanvas');
			let ctx = uni.createCanvasContext(this.bg, this); // 假设 uni.createCanvasContext 是 UniApp 提供的跨平台方法（实际中并不存在，仅作为示例）
			let lineCtx = uni.createCanvasContext(this.line, this);
			let width = this.pageWidth; // this.props.width
			let height = 200; // this.props.height
			let grid_width = height / 30; // 每一个小网格的宽高
			let hLineNum = parseInt(height / grid_width); // 横线个数
			let vLineNum = parseInt(width / grid_width); // 竖线个数
			let x_start = grid_width * 10; // X起点，从第三个大格子开始画
			lineCtx.lineWidth = 2;
			lineCtx.strokeStyle = '#0f0';
			let text = this.text;
			let ecgWave2 = new WaveView(ctx, lineCtx, 1000, height, 0, 10, 2, '#00ff00', x_start, grid_width, width, hLineNum, vLineNum, text);
			ecgWave2.drawGrid();
			// ecgWave.addDataSPO(ecgWave.base64ToUint8Array(data))
			let data="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"
			// ecgWave.getMvData(data, 0,0);
			ecgWave2.getMvData(data, 0,0);
			ecgWave2.loop();
		},
		mqtt() {
			let deviceBasicData = new DeviceBasicData('q21crvVHypW', 'naodian1', undefined);
			this.simDevice = new SimDevice();
			// http:///
			let url = '123.60.177.231:1887';
			deviceBasicData.username = '1559108322@qq.com';
			deviceBasicData.password = '123456';
			// deviceBasicData.clientId = 'q21crvVHypW.naodian1|timestamp=1727157546937,clientType=device,securemode=2,signmethod=hmacsha256|';
			// deviceBasicData.addr = "120.196.217.78:5888"; //'120.196.217.78:5888';
			deviceBasicData.addr = url;
			let that = this;
			// that.returnData(1)
			this.simDevice.clientDataListener = {
				onHandle: (topic, msg) => {
					msg=msg.replace(/'/g, '"');
						// console.log(JSON.parse(msg));
						// console.log(JSON.parse(msg).params);
					// console.log('onHandle', topic, JSON.parse(msg).params.OUT.value);
					if(JSON.parse(msg).method === 'thing.service.property.post' && JSON.parse(msg).params.OUT != undefined){
						// that.data=JSON.parse(JSON.parse(msg).params.OUT.value)
						console.log('成功添加！');
						const params = {
						        val: JSON.parse(msg).params.OUT.value,
								userId:JSON.parse(uni.getStorageSync('info')).id
						      };
						uni.$u.http.post('/ndCs', params, {custom: {auth: true}} ).then(res => {
							this.$emit('data-from-child','');
						}).catch(err => {
						})
					}
				},
				onSetProperty: (requestPayload) => {
					let params = requestPayload.params;
					// let b = this.simDevice.resSetPropertyValue(responsePayload);
					// if (this.state.send){
					//   this.handleSubmit()
					// }
				},
				onInvokeService: (topic, payload) => {
					let map = {
						回复数据: new ValueWrapper.IntValueWrapper(1)
					};
					let responsePayload = {
						data: map,
						method: payload.getMethod(),
						id: payload.getId(),
						code: 0
					};
					let b = this.simDevice.resService(topicFactory.getResService(topic), responsePayload);
					// console.log('收到服务调用:' + JSON.stringify(payload) + ' 回复:' + b);
					// console.log('收到服务调用:' + JSON.stringify(payload) + ' 回复:' + b);
				},
				onPushProperty: function (payload) {
					// console.log('收到属性推送回复:' + JSON.stringify(payload));
				},
				onResPushProperty: function (payload) {
					// console.log('收到属性推送回复:' + JSON.stringify(payload));
				},

				onResPushEvent: function (payload) {
					// console.log('收到事件推送回复:' + JSON.stringify(payload));
				},
				onConnect(success) {
					console.log('连接服务器:' + success);
					that.simDevice.subscribe('q21crvVHypW','naodian1')
					that.draw()
				},
				onSubAck(success) {
					console.log('监听topic反馈:' + success);
				},
				onPushAck(success) {
					console.log('push反馈:' + success);
				},
				onClose() {
					console.log('连接关闭');
				}
			};
			this.simDevice.init(deviceBasicData);
			this.mqttLog = this.simDevice.mqttDevice.connect.mqttLog;
			this.simDevice.connectServer();
		},
		calculatePoints(data) {
			let results = [];
			let draws=[]
			// 遍历数组，每三个字节为一组
			for (let i = 0; i < data.length; i += 3) {
				// 确保还有足够的字节来处理
				if (i + 2 >= data.length) break;
				// 将三个字节合并为一个整数
				let value = (data[i] << 16) + (data[i + 1] << 8) + data[i + 2];
				// 应用给定的公式
				let result = ((value - 8388608) * 0.480772) / 12 / 1000;
				let draw=((value - 8388608) * 0.480772) / 12 / 1000/10*200/3+200/2
				// 存储结果
				results.push(result);
				draws.push(draw);
			}
			return {results,draws};
		},
		parsePacketsAndConvertToDecimal(hexString) {
			// 将十六进制字符串转换为Uint8Array
			let byteArray = hexString;
			let packets = [];
			let startIndex = 0;
			let isFE = -1;
			while (startIndex < byteArray.length - 6) {
				// 确保有足够的字节来检查FE和随后的内容
				if (byteArray[startIndex] === 0xff) {
					// 跳过包头FF
					startIndex++;
					// 读取ID（2字节）
					let id = (byteArray[startIndex] << 8) | byteArray[startIndex + 1];
					startIndex++;
				}
				// 查找包尾FE
				let packetEndIndex = byteArray.indexOf(0xfe, startIndex);
				if (packetEndIndex === -1) {
					throw new Error('Invalid packet: missing end byte FE after index ' + startIndex);
				}
				// 读取包数量（但在这个函数中我们不需要它，只是用它来确保格式正确）
				let packetCount = (byteArray[packetEndIndex - 2] << 8) | byteArray[packetEndIndex - 1];
				// 提取数据部分（从ID之后到FE之前的所有字节，不包括包数量和FE）
				let data = []; // 检查FE后是否紧跟非FF字节（假设是跳过时间戳后的两个字节）
				if (packetEndIndex + 5 === byteArray.length || byteArray[packetEndIndex + 5] === 0xff) {
					// 正常包尾
					data = byteArray.slice(startIndex, packetEndIndex - 1);
					startIndex = packetEndIndex + 5; // 跳过FE和时间戳（4字节）
					if (isFE != -1) {
						isFE = -2; //数据有FE时的结束
					}
				} else {
					//数据有fe时
					data = byteArray.slice(startIndex, packetEndIndex + 1);
					startIndex = packetEndIndex + 1;
					isFE++;
				}
				if (isFE >= 1 || isFE === -2) {
					//数据有FE时
					packets[packets.length - 1] = [...packets[packets.length - 1], ...data];
					if (isFE < 0) {
						isFE = -1;
					}
				} else {
					packets.push(data);
				}
			}

			return packets; // 返回一个包含每个包信息的数组
		}
	}
};
</script>

<style>
/* page {
		background-color: rgb(240, 242, 244);
	} */
</style>

<style lang="scss">
.u-cell-icon1 {
	width: 36rpx;
	height: 36rpx;
	margin-right: 8rpx;
}

.u-cell-group__title__text {
	font-weight: bold;
}
</style>
